package com.payment.common.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import com.payment.common.utils.http.HttpClientUtil;

public class HtmlParserUtils {
	protected List<List<String>> data = new LinkedList<List<String>>();
	 
	/**
	 * 获取value值
	 * 
	 * @param e
	 * @return
	 */
	public static String getValue(Element e) {
		return e.attr("value");
	}
 
	/**
	 * 获取
	 * <tr>
	 * 和
	 * </tr>
	 * 之间的文本
	 * 
	 * @param e
	 * @return
	 */
	public static String getText(Element e) {
		return e.text();
	}
 
	/**
	 * 识别属性id的标签,一般一个html页面id唯一
	 * 
	 * @param body
	 * @param id
	 * @return
	 */
	public static Element getID(String body, String id) {
		Document doc = Jsoup.parse(body);
		// 所有#id的标签
		Elements elements = doc.select("#" + id);
		// 返回第一个
		return elements.first();
	}
 
	/**
	 * 识别属性class的标签
	 * 
	 * @param body
	 * @param class
	 * @return
	 */
	public static Elements getClassTag(String body, String classTag) {
		Document doc = Jsoup.parse(body);
		// 所有#id的标签
		return doc.select("." + classTag);
	}
 
	/**
	 * 获取tr标签元素组
	 * 
	 * @param e
	 * @return
	 */
	public static Elements getTR(Element e) {
		return e.getElementsByTag("tr");
	}
 
	/**
	 * 获取td标签元素组
	 * 
	 * @param e
	 * @return
	 */
	public static Elements getTD(Element e) {
		return e.getElementsByTag("td");
	}

	/**
	 * 获取表元组
	 * @param table
	 * @return
	 */
	public static List<List<String>> getTables(Element table){
		List<List<String>> data = new ArrayList<>();
		
		for (Element etr : table.select("tr")) {
			List<String> list = new ArrayList<>();
			for (Element etd : etr.select("td")) {
				String temp = etd.text();
				//增加一行中的一列
				list.add(temp);
			}
			//增加一行
			data.add(list);
		}
		return data;
	}
	public static void main(String[] args) {
		Map<String, String> map=new HashMap<>(16);
		map.put("card", "6217000010086959536");
		String res = HttpClientUtil.doGet("https://login.taobao.com/member/login.jhtml");
		System.out.println(res);
		Document doc = Jsoup.parse(res);
		// 获取所有标签下的内容
		Elements links = doc.getElementsByClass("qrcode-img");
		Document doc1 =Jsoup.parse(links.text());
		System.out.println(doc1.getElementsByTag("img"));
	}

}
